# Configuration based on 'mdev-like-a-boss'.
# https://github.com/slashbeast/mdev-like-a-boss/blob/master/mdev.conf

null          root:root 666 @chmod 666 $MDEV
zero          root:root 666
full          root:root 666
random        root:root 444
urandom       root:root 444
hwrandom      root:root 444
grsec         root:root 660
kmem          root:root 640
mem           root:root 640

port          root:root 640
console       root:tty  600 @chmod 600 $MDEV
ptmx          root:tty  666
pty.*         root:tty  660
tty           root:tty  666
tty[0-9]*     root:tty  660
vcsa*[0-9]*   root:tty  660

# Kernel based virtual machine.
kvm           root:kvm  660
vhost-net     root:kvm  660

# Block devices.
ram([0-9]*)   root:disk 660 >rd/%1
loop([0-9]+)  root:disk 660 >loop/%1
sr[0-9]*      root:cdrom 660 @ln -sf $MDEV cdrom
fd[0-9]*      root:floppy 660

net/tun[0-9]* root:kvm 660
net/tap[0-9]* root:root 600
fuse          root:root 666
agpgart       root:root 660 >misc/
psaux         root:root 660 >misc/
rtc           root:root 664 >misc/

# Audio stuff.
adsp          root:audio 660 >sound/
audio         root:audio 660 >sound/
dsp           root:audio 660 >sound/
mixer         root:audio 660 >sound/
sequencer.*   root:audio 660 >sound/
snd/.*        root:audio 660

# Raid controllers.
cciss!(.*)    root:disk 660 =cciss/%1
ida!(.*)      root:disk 660 =ida/%1
rd!(.*)       root:disk 660 =rd/%1

# Video stuff.
card[0-9]     root:video 660 =dri/
vbi[0-9]      root:video 660 >v4l/
video[0-9]    root:video 660 >v4l/
dri/.*        root:video 660

# Don't create old usbdev* devices.
usbdev[0-9].[0-9]* root:root 660 !

# Stop creating x:x:x:x which looks like /dev/dm-*.
[0-9]+\:[0-9]+\:[0-9]+\:[0-9]+ root:root 660 !

# /dev/cpu support.
microcode       root:root 600 =cpu/
cpu([0-9]+)     root:root 600 =cpu/%1/cpuid
msr([0-9]+)     root:root 600 =cpu/%1/msr

# libudev-zero hotplug.
SUBSYSTEM=drm;.*   root:video 660 *libudev-zero-helper
SUBSYSTEM=input;.* root:input 660 *libudev-zero-helper
